<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8" />
		<meta http-equiv="X-UA-Compatible" content="IE=edge" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<title>Document</title>
	</head>
	<body>
		<script>
			const data = [
				{
					id: 1,
					name: '家电',
					goods: [
						{
							id: 11,
							gname: '冰箱',
							goods: [
								{
									id: 111,
									gname: '海尔',
								},
								{
									id: 112,
									gname: '美的',
								},
							],
						},
						{
							id: 12,
							gname: '电视',
						},
					],
				},
				{
					id: 2,
					name: '服饰',
				},
			];

			// 想要实现的功能：输入 id 返回相应的数据对象
			function getID(json, id) {
				// 1. 利用 forEach 遍历里面的每一个对象
				let obj = {};
				json.forEach(function (item) {
					// console.log(item); // 两个数组元素
					if (item.id == id) {
						// console.log(item);
						obj = item;
						return item;
						// 2. 得到里层的数据 11 12 可以利用递归函数
						// 里面应该有 goods 这个数组并且数组长度不为 0
					} else if (item.goods && item.goods.length > 0) {
						obj = getID(item.goods, id);
					}
				});
				return obj;
			}
			console.log(getID(data, 1));
			console.log(getID(data, 2));
			console.log(getID(data, 12));
			console.log(getID(data, 112));
		</script>
	</body>
</html>
